home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Just Call Me Internet
/
Just Call Me Internet.iso
/
prog
/
atari
/
m2
/
cat3src
/
magic
/
d
/
mtproces.d
< prev
next >
Wrap
Text File
|
1997-10-26
|
3KB
|
61 lines
(*----------------------------------------------------------------------*
* *
* MAGICTOOLS Modula's All purpose GEM Interface Cadre Toolbox *
* ÿ ÿ ÿ ÿ ÿ *
*----------------------------------------------------------------------*
* Version 3.30 02.02.1992 (C)90/91/92 by Peter Hellinger Software *
*----------------------------------------------------------------------*
* Dieses Modul ist urheberrechtlich geschtzt. *
* *
* Die Verffentlichung des Quelltextes oder Teilen daraus, sowie die *
* Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
* oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail- *
* boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen *
* Einverstndnisserklrung des Autors. *
* *
* Die Verbreitung des Moduls als Teil eines gelinkten Programms ist *
* fr Lizenznehmer ausdrcklich erlaubt! Der Autor behlt sich das *
* Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
* widerrufen. *
*----------------------------------------------------------------------*)
(*----------------------------------------------------------------------*
* mtProzess Einfacher Scheduler fr Coroutinen. Implementation nach *
* Wirth's "Programmieren in Modula-2" *
*----------------------------------------------------------------------*)
DEFINITION MODULE mtProcess;
FROM MagicSys IMPORT Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
IMPORT SYSTEM;
TYPE SIGNAL;
PROCEDURE StartProcess (P: PROC; n: lCARDINAL);
(* Starte einen parallelen Prozess mit Prozedur P und einem Arbeitsspeicher
* der Gre n.
*)
PROCEDURE SEND (VAR s: SIGNAL);
(* Ein Prozess, der auf s wartet, wird wieder gestartet *)
PROCEDURE WAIT (VAR s: SIGNAL);
(* Warte darauf, da irgend ein anderer Prozess sendet *)
PROCEDURE Awaited (s: SIGNAL): BOOLEAN;
(* Awaited (s) = "mindestens ein Prozess wartet auf s" *)
PROCEDURE InitSignal (VAR s: SIGNAL);
(* zwangsweise Initialisierung *)
END mtProcess.